package grafica.controladores;
import java.sql.SQLException;
import grafica.ventanas.empresaAlta;

import persistencia.DAOException;
import persistencia.PersistenciaException;
import logica.clases.Facade;
import logica.datatypes.DataEmpresa;

public class ControladorEmpresa {
	private Facade facade;	
	empresaAlta empAlta;


	public ControladorEmpresa(empresaAlta empresaAlta){
		empAlta = empresaAlta;
		try {
			facade = new Facade();
		} catch (PersistenciaException e1) {					
			e1.printStackTrace();
		} catch (InstantiationException e1) {
			empAlta.setJTextAreaMensajes(e1.toString());
			e1.printStackTrace();
		} catch (IllegalAccessException e1) {
			empAlta.setJTextAreaMensajes(e1.toString());
			e1.printStackTrace();
		} catch (ClassNotFoundException e1) {
			empAlta.setJTextAreaMensajes(e1.toString());
			e1.printStackTrace();
		}	
	}
	
	public void AltaEmpresa(int rut, String razonSocial){
		DataEmpresa empresa = new DataEmpresa(rut, razonSocial);
		try {
			facade.agregarEmpresa(empresa);
			empAlta.setJTextAreaMensajes("Empresa dada de Alta");
			empAlta.limpiarData();
		} catch (DAOException e) {
			empAlta.setJTextAreaMensajes(e.darMensaje());
		} catch (InstantiationException e) {
			empAlta.setJTextAreaMensajes("ERROR: No se pudo dar de alta");
			//e.printStackTrace();
		} catch (IllegalAccessException e) {
			empAlta.setJTextAreaMensajes("ERROR: No se pudo dar de alta");
			//e.printStackTrace();
		} catch (ClassNotFoundException e) {
			empAlta.setJTextAreaMensajes("ERROR: No se pudo dar de alta");
			//e.printStackTrace();
		} catch (PersistenciaException e) {
			// TODO Auto-generated catch block
			empAlta.setJTextAreaMensajes(e.toString());
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			empAlta.setJTextAreaMensajes(e.toString());
		}
			
	}
	


}
